package com.my.service;

import com.my.spring.MyApplicationContext;

/**
 * @author zhupanlin
 * @version 1.0
 * @description: TODO
 * @date 2024/6/14 20:43
 */
public class Test {

    public static void main(String[] args) {
        // 容器启动->componentScan扫描->扫描带有Component注解的类，创建BeanDefinition
        // -> 将bean的信息赋给BeanDefinition，scope、class等-> 创建Bean，如果是懒加载和多例就在getBean的时候创建
        // 创建Bean：实例化Bean->依赖注入-> Aware回调-> 调用初始化前置处理器(beanPostBeforeInitialization)
        //          -> 初始化 -> 调用初始化后置处理器(beanPostAfterInitialization)在这里面实现AOP
        MyApplicationContext applicationContext = new MyApplicationContext(AppConfig.class);

        UserService userService = (UserService) applicationContext.getBean("userService");
        userService.test();

    }
    
}
